package com.example.blog.restController;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.blog.base.BaseImpl;
import com.example.blog.entity.Query;
import com.example.blog.entity.User;
import com.example.blog.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@CrossOrigin
@RestController
public class LoginExitController {

    @Autowired
    BaseImpl baseImpl;

    @Autowired
    UserService userService;


    //    get和post传参时不一样：
    //    get前端需要使用params进行传参，后动不需要添加requestbody注解
    //    post前端不需要params进行传参，后端需要添加requestbody注解
    @PostMapping("/login")
//    @RequestBody采用前后端分离开发时(vue)，axios提交的post方式是一个Jason，后端需要该注解进行解析
    public Map<String, Object> login(@RequestBody Query query) {
        HashMap<String, Object> map = new HashMap<>();
        Page<User> listByQueryPage = baseImpl.getListByQueryPage(userService, query);
        List<User> userList = listByQueryPage.getRecords();
        if (userList.size() > 0) {
            map.put("code", 200);
            map.put("message", "登录成功！");
            map.put("data", userList);
        } else {
            map.put("code", -1);
            map.put("message", "账号或密码输入有误！请重新输入！");
        }
        return map;
    }


}
